package com.test.udp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;

/**
 * UDP协议发送方
 * 1.使用DatagramSocket 指定端口,创建发送端(注意端口不要被占用)
 * 2.准备数据,一定要转成字节数据
 * 3.封装成DatagramPacket包裹,需要指定目的地(目标IP及端口号)
 * 4.发送包裹send(DatagramPacket p)
 * 5.释放资源
 *
 * @author: ybl
 * @create: 2019-05-27 22:38
 **/
public class UDPClient {
    public static void main(String[] args) throws Exception {
        System.out.println("发送方启动中....");

//        1.使用DatagramSocket 指定端口,创建发送端(注意端口不要被占用)
        DatagramSocket client = new DatagramSocket(8888);
//        2.准备数据,一定要转成字节数据
        String data = "我怎能不变态";
        byte[] datas = data.getBytes();
//        3.封装成DatagramPacket包裹,需要指定目的地(目标IP及端口号),注意地址要使用一个地址对象InetSocketAddress
        DatagramPacket packet = new DatagramPacket(datas, 0, datas.length,
                new InetSocketAddress("localhost", 9999));
//        4.发送包裹send(DatagramPacket p)
        client.send(packet);
//        5.释放资源
        client.close();
    }
}
